package com.recsmile.sgs.client.ui.components;

import java.util.List;

import com.recsmile.sgs.client.entity.ClientGameInfo;
import com.recsmile.sgs.client.entity.Hero;
import com.recsmile.sgs.client.entity.PlayerInfo;

public interface ClientGameUI<T extends Hero> extends ClientPanelUI, ClientGameInfo {

	/**
	 * invoked to enable/disable confirm button
	 * @param isEnabled
	 */
	public void setConfirmEnabled(boolean isEnabled);
	
	/**
	 * invoked to enable/disable cancel button
	 * @param isEnabled
	 */
	public void setCancelEnabled(boolean isEnabled);
	
	/**
	 * invoked to enable/disable end button
	 * @param isEnabled
	 */
	public void setEndEnabled(boolean isEnabled);
	
	public PlayerUI getOtherPlayerUI(String name);
	
	public PlayerUI getOtherPlayerUI(PlayerInfo other);

	public HeroUI<T> getHeroUI();

	public CardRackUI getCardRackUI();

	public List<? extends PlayerUI> getOtherPlayersUI();

	public void showCountdownBar();
	
}